package com.example.springdatajpaderivedquerymethod.service;

import com.example.springdatajpaderivedquerymethod.model.Employee;
import org.springframework.data.domain.Pageable;

import java.util.List;

public interface EmployeeDAOService {
    List<Employee> findByCriteria(String employeeName);

    List<Employee> findByCriteria(String deptName,Integer salary);

    List<Employee> findByDeptNameAndSalaryBetween(String deptName,Integer salaryMin,Integer salaryMax);

    List<Employee> findByPagingCriteria(String deptName, Pageable pageable);

    List<Employee> findByCriteriaOrderBy(String deptName,String orderFieldName,String direction);

    List<Employee> findByLikeAndBetween(String text,Integer salaryStart,Integer salaryEnd);

    List<Employee> findByInCriteria(List<String> names);

    List<Employee> findByNotInCriteria(List<String> names);
}
